p(0) → 0
p(s(x)) → x
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, y) → if(le(x, y), x, y)
if(true, x, y) → 0
if(false, x, y) → s(minus(p(x), y))
↳ QTRS
↳ Overlay + Local Confluence
p(0) → 0
p(s(x)) → x
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, y) → if(le(x, y), x, y)
if(true, x, y) → 0
if(false, x, y) → s(minus(p(x), y))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
p(0) → 0
p(s(x)) → x
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, y) → if(le(x, y), x, y)
if(true, x, y) → 0
if(false, x, y) → s(minus(p(x), y))
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
IF(false, x, y) → P(x)
MINUS(x, y) → LE(x, y)
IF(false, x, y) → MINUS(p(x), y)
MINUS(x, y) → IF(le(x, y), x, y)
LE(s(x), s(y)) → LE(x, y)
p(0) → 0
p(s(x)) → x
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, y) → if(le(x, y), x, y)
if(true, x, y) → 0
if(false, x, y) → s(minus(p(x), y))
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
IF(false, x, y) → P(x)
MINUS(x, y) → LE(x, y)
IF(false, x, y) → MINUS(p(x), y)
MINUS(x, y) → IF(le(x, y), x, y)
LE(s(x), s(y)) → LE(x, y)
p(0) → 0
p(s(x)) → x
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, y) → if(le(x, y), x, y)
if(true, x, y) → 0
if(false, x, y) → s(minus(p(x), y))
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
p(0) → 0
p(s(x)) → x
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, y) → if(le(x, y), x, y)
if(true, x, y) → 0
if(false, x, y) → s(minus(p(x), y))
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
IF(false, x, y) → MINUS(p(x), y)
MINUS(x, y) → IF(le(x, y), x, y)
p(0) → 0
p(s(x)) → x
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, y) → if(le(x, y), x, y)
if(true, x, y) → 0
if(false, x, y) → s(minus(p(x), y))
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
IF(false, x, y) → MINUS(p(x), y)
MINUS(x, y) → IF(le(x, y), x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
p(0) → 0
p(s(x)) → x
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
minus(x0, x1)
if(true, x0, x1)
if(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
IF(false, x, y) → MINUS(p(x), y)
MINUS(x, y) → IF(le(x, y), x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
p(0) → 0
p(s(x)) → x
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
MINUS(0, x0) → IF(true, 0, x0)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
MINUS(s(x0), 0) → IF(false, s(x0), 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, x, y) → MINUS(p(x), y)
MINUS(0, x0) → IF(true, 0, x0)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
p(0) → 0
p(s(x)) → x
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, x, y) → MINUS(p(x), y)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
p(0) → 0
p(s(x)) → x
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF(false, 0, y1) → MINUS(0, y1)
IF(false, s(x0), y1) → MINUS(x0, y1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(x0), y1) → MINUS(x0, y1)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
IF(false, 0, y1) → MINUS(0, y1)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
p(0) → 0
p(s(x)) → x
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(x0), y1) → MINUS(x0, y1)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
p(0) → 0
p(s(x)) → x
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(x0), y1) → MINUS(x0, y1)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
p(0)
p(s(x0))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(x0), y1) → MINUS(x0, y1)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF(false, s(z0), s(z1)) → MINUS(z0, s(z1))
IF(false, s(z0), 0) → MINUS(z0, 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
MINUS(s(x0), 0) → IF(false, s(x0), 0)
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
IF(false, s(z0), s(z1)) → MINUS(z0, s(z1))
IF(false, s(z0), 0) → MINUS(z0, 0)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ ForwardInstantiation
↳ QDP
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
IF(false, s(z0), s(z1)) → MINUS(z0, s(z1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF(false, s(s(y_0)), s(x1)) → MINUS(s(y_0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
IF(false, s(s(y_0)), s(x1)) → MINUS(s(y_0), s(x1))
MINUS(s(x0), s(x1)) → IF(le(x0, x1), s(x0), s(x1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
MINUS(s(s(y_1)), s(x1)) → IF(le(s(y_1), x1), s(s(y_1)), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
MINUS(s(s(y_1)), s(x1)) → IF(le(s(y_1), x1), s(s(y_1)), s(x1))
IF(false, s(s(y_0)), s(x1)) → MINUS(s(y_0), s(x1))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(z0), 0) → MINUS(z0, 0)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(z0), 0) → MINUS(z0, 0)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(z0), 0) → MINUS(z0, 0)
IF(false, s(s(y_0)), 0) → MINUS(s(y_0), 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
MINUS(s(x0), 0) → IF(false, s(x0), 0)
IF(false, s(s(y_0)), 0) → MINUS(s(y_0), 0)
MINUS(s(s(y_0)), 0) → IF(false, s(s(y_0)), 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDPSizeChangeProof
IF(false, s(s(y_0)), 0) → MINUS(s(y_0), 0)
MINUS(s(s(y_0)), 0) → IF(false, s(s(y_0)), 0)
From the DPs we obtained the following set of size-change graphs: